GList *offsets;
+ gchar *cur_value_class;
+
guint inverted : 1;
};
base_area.width -= block_margin.left + block_margin.right;
base_area.height -= block_margin.top + block_margin.bottom;
+ if (self->priv->cur_value_class)
+ gtk_style_context_remove_class (context, self->priv->cur_value_class);
gtk_style_context_add_class (context, STYLE_CLASS_EMPTY_FILL_BLOCK);
gtk_render_background (context, cr, base_area.x, base_area.y,
base_area.width, base_area.height);
gtk_style_context_remove_class (context, STYLE_CLASS_EMPTY_FILL_BLOCK);
+ if (self->priv->cur_value_class)
+ gtk_style_context_add_class (context, self->priv->cur_value_class);
/* now render the filled part on top of it */
block_area = base_area;
}
if (idx > num_filled - 1)
- gtk_style_context_add_class (context, STYLE_CLASS_EMPTY_FILL_BLOCK);
+ {
+ gtk_style_context_add_class (context, STYLE_CLASS_EMPTY_FILL_BLOCK);
+ if (self->priv->cur_value_class != NULL)
+ gtk_style_context_remove_class (context, self->priv->cur_value_class);
+ }
gtk_render_background (context, cr,
block_area.x, block_area.y,
}
}
+ g_clear_pointer (&self->priv->cur_value_class, g_free);
+
if (value_class != NULL)
{
gtk_style_context_add_class (context, value_class);
- g_free (value_class);
+ self->priv->cur_value_class = value_class;
}
}
GtkLevelBar *self = GTK_LEVEL_BAR (obj);
g_list_free_full (self->priv->offsets, (GDestroyNotify) gtk_level_bar_offset_free);
+ g_free (self->priv->cur_value_class);
G_OBJECT_CLASS (gtk_level_bar_parent_class)->finalize (obj);
}